package com.yonyougov.devops.cruxcisupport.appenvport;

import com.yonyougov.devops.cruxcisupport.util.CruxDevOpsIdGenerator;
import com.yonyougov.devops.fwc.core.entity.BasicEntity;
import com.yonyougov.devops.fwc.core.id.IdGenerator;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigInteger;

/***
 * t_app_env_port
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppEnvPortEntity extends BasicEntity implements Serializable {

    /***
     * 主键
     */
    private BigInteger id;

    /***
     * 容器外部端口
     */
    private Integer mappingPort;

    /***
     * 端口名称
     */
    private String name;

    /***
     * 应用内部端口
     */
    private Integer port;

    /***
     * 容器id
     */
    private BigInteger appEnvId;


    /***
     * 获取主键
     *
     * @return 获取主键
     */
    public BigInteger getId() {
        return id;
    }

    /***
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(BigInteger id) {
        this.id = id;
    }

    /***
     * 获取容器外部端口
     *
     * @return 获取容器外部端口
     */
    public Integer getMappingPort() {
        return mappingPort;
    }

    /***
     * 设置容器外部端口
     *
     * @param mappingPort 容器外部端口
     */
    public void setMappingPort(Integer mappingPort) {
        this.mappingPort = mappingPort;
    }

    /***
     * 获取端口名称
     *
     * @return 获取端口名称
     */
    public String getName() {
        return name;
    }

    /***
     * 设置端口名称
     *
     * @param name 端口名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /***
     * 获取应用内部端口
     *
     * @return 获取应用内部端口
     */
    public Integer getPort() {
        return port;
    }

    /***
     * 设置应用内部端口
     *
     * @param port 应用内部端口
     */
    public void setPort(Integer port) {
        this.port = port;
    }

    /***
     * 获取容器id
     *
     * @return 获取容器id
     */
    public BigInteger getAppEnvId() {
        return appEnvId;
    }

    /***
     * 设置容器id
     *
     * @param appEnvId 容器id
     */
    public void setAppEnvId(BigInteger appEnvId) {
        this.appEnvId = appEnvId;
    }


    @Override
    public String toString() {
        return "AppEnvPortEntity{" +
                "id=" + id +

                ",mappingPort=" + mappingPort +

                ",name=" + name +

                ",port=" + port +

                ",appEnvId=" + appEnvId +
                '}';
    }

    //<!--用户自定义代码开始-->
    public IdGenerator idGenerator() {
        return new CruxDevOpsIdGenerator();
    }
    //<!--用户自定义代码结束-->
}
